import type {PageParam, PageResult} from '@vben/request';
import type {Dayjs} from 'dayjs';

import {requestClient} from '#/api/request';
export namespace AiPlatformsApiApi {
  /** 平台AI接口信息 */
  export interface PlatformsApi {
    id: number; // 平台API主键
    apiCode: string; // API编码
    apiName?: string; // API名称
    description: string; // API描述
    brand?: string; // 品牌/平台
    brandName: string; // 平台名称
    baseUrl: string; // 平台基础url地址
    apiPath: string; // API 相对路径（如/v1/workflows/run)
    requestMethod: string; // 请求方法（GET、POST 等）
    contentType: string; // 请求 Content-Type
    authType: string; // 认证方式（如BEARER_TOKEN、API_KEY）
    authConfig: string; // 认证配置
    timeout: number; // 超时时间（秒）
    retryCount: number; // 重试次数
    status: number; // 状态 1有效 0无效
    deptId?: object; // 部门ID
    unitId: number; // 单位id
    areaCode: number; // 行政区划
    orgId: number; // 组织id
    userId: number; // 用户编号
    categoryId: number; // 分类ID
    metadata: string; // 其他参数
    sort: number; // 排序值
    systemFlag: boolean; // 是否系统内置
    publicStatus: number; // 是否公开：1-公开，0-私有
  }
}

/** 查询平台AI接口分页 */
export function getPlatformsApiPage(data: PageParam,desensitize: boolean,encrypt: boolean) {
  return requestClient.post<PageResult<AiPlatformsApiApi.PlatformsApi>>('/ai/platforms-api/page', data,{ desensitize,encrypt });
}

/** 查询平台AI接口详情 */
export function getPlatformsApi(id: number) {
  return requestClient.get<AiPlatformsApiApi.PlatformsApi>(`/ai/platforms-api/get?id=${id}`);
}

/** 新增平台AI接口 */
export function createPlatformsApi(data: AiPlatformsApiApi.PlatformsApi) {
  return requestClient.post('/ai/platforms-api/create', data);
}

/** 修改平台AI接口 */
export function updatePlatformsApi(data: AiPlatformsApiApi.PlatformsApi) {
  return requestClient.put('/ai/platforms-api/update', data);
}

/** 删除平台AI接口 */
export function deletePlatformsApi(id: number) {
  return requestClient.delete(`/ai/platforms-api/delete?id=${id}`);
}

/** 批量删除平台AI接口 */
export function deletePlatformsApiList(ids: number[]) {
  return requestClient.delete(`/ai/platforms-api/delete-list?ids=${ids.join(',')}`)
}

/** 导出平台AI接口 */
export function exportPlatformsApi(params: any) {
  return requestClient.download('/ai/platforms-api/export-excel', { params });
}
